package com.gyg.service;

import com.gyg.domain.CloudRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gyg.returns.RespEntity;
import com.gyg.vo.DateCountVO;
import com.gyg.vo.result.OptionResult;
import com.gyg.vo.result.RecordListResult;
import com.gyg.vo.result.RecordResult;
import java.util.List;

/**
 * <p>
 * 文件上传下载记录表 服务类
 * </p>
 *
 * @author gyg
 * @since 2021-04-14
 */
public interface CloudRecordService extends IService<CloudRecord> {

    /**
     * 文件操作记录异步接入
     * @param cloudRecord
     */
    void fileRecordAccess(CloudRecord cloudRecord);

    /**
     * 获取文件操作记录top5
     * @param userId
     * @return
     */
    RespEntity<List<RecordResult>> getCloudRecordTop5(Integer userId);

    /**
     * 最近7日的操作记录数量
     * @param userId
     * @return
     */
    RespEntity<OptionResult> getRecordRecent7Days(Integer userId);

    /**
     * 操作记录列表
     * @param userId
     * @param pageNum
     * @param pageSize
     * @return
     */
    RespEntity<RecordListResult> cloudRecordList(Integer userId, Integer pageNum, Integer pageSize);

}
